package com.aspose.cells;

class zatk {
   long[] a;
   byte[] b;
   long c = 0L;
   long d = 0L;
   byte e = 1;
   boolean f = true;
   boolean g = true;

   zatk(byte[] var1, long[] var2, long var3, long var5, byte var7, boolean var8, boolean var9) {
      this.c = var3;
      this.d = var5;
      this.b = var1;
      this.a = var2;
      this.e = var7;
      this.f = var8;
      this.g = var9;
   }

   public com.aspose.cells.b.a.b.a.ze a(zace var1, double[] var2, byte[] var3, float var4, float var5, float var6, float var7, boolean[] var8) {
      com.aspose.cells.b.a.b.a.ze var9 = new com.aspose.cells.b.a.b.a.ze();
      int var10 = 0;
      float var11 = 0.0F;
      float var12 = 0.0F;
      long var19 = this.a();
      long var21 = this.b();
      float var23 = 1.0F;
      float var24 = 1.0F;
      if (this.c > 0L) {
         var23 = var6 / (float)var19;
      }

      if (this.d > 0L) {
         var24 = var7 / (float)var21;
      }

      var8[0] = false;
      byte[] var25 = this.b;
      int var26 = var25.length;

      for(int var27 = 0; var27 < var26; ++var27) {
         byte var28 = var25[var27];
         float var13;
         float var14;
         float var15;
         float var16;
         switch(var28) {
         case 0:
            var9.i();
            var8[0] = true;
            break;
         case 1:
            var9.j();
            var11 = var1.a(var2, var3, this.a[var10++]) * var23 + var4;
            var12 = var1.a(var2, var3, this.a[var10++]) * var24 + var5;
            break;
         case 2:
            var13 = var1.a(var2, var3, this.a[var10++]) * var23 + var4;
            var14 = var1.a(var2, var3, this.a[var10++]) * var24 + var5;
            var9.b(var11, var12, var13, var14);
            var11 = var13;
            var12 = var14;
            break;
         case 3:
            float var29 = var1.a(var2, var3, this.a[var10++]) * var23;
            float var30 = var1.a(var2, var3, this.a[var10++]) * var24;
            float var31 = var1.b(var2, var3, this.a[var10++]);
            float var32 = var1.b(var2, var3, this.a[var10++]);
            if ((double)(Math.abs(var29) + Math.abs(var30)) < 0.005D) {
               break;
            }

            double var33 = (double)(var31 / 180.0F) * 3.141592653589793D;
            double var35;
            double var37;
            double var39;
            if ((double)(var23 / var24) < 0.9999D || (double)(var23 / var24) > 1.0001D) {
               var35 = (double)((var31 + var32) / 180.0F) * 3.141592653589793D;
               var37 = Math.cos(var33) * (double)var23;
               var39 = Math.sin(var33) * (double)var24;
               var33 = Math.atan2(var39, var37);
               var31 = (float)(var33 * 180.0D / 3.141592653589793D);
               var37 = Math.cos(var35) * (double)var23;
               var39 = Math.sin(var35) * (double)var24;
               var35 = Math.atan2(var39, var37);
               float var41 = (float)(var35 * 180.0D / 3.141592653589793D) - var31;
               if (var32 < 0.0F && var41 > 0.0F) {
                  var32 = var41 - 360.0F;
               } else if (var32 > 0.0F && var41 < 0.0F) {
                  var32 = var41 + 360.0F;
               } else {
                  var32 = var41;
               }
            }

            var35 = Math.cos(var33);
            var37 = Math.sin(var33);
            var39 = Math.sqrt(1.0D / (var35 * var35 / (double)var29 / (double)var29 + var37 * var37 / (double)var30 / (double)var30));
            var13 = (float)((double)var11 - var35 * var39);
            var14 = (float)((double)var12 - var37 * var39);
            var9.a(var13 - var29, var14 - var30, var29 * 2.0F, var30 * 2.0F, var31, var32);
            if (var9.e() < 2) {
               var12 = 0.0F;
               var11 = 0.0F;
            } else {
               com.aspose.cells.b.a.b.zo[] var44 = var9.c();
               int var42 = var9.e();
               com.aspose.cells.b.a.b.zo var43 = var44[var42 - 1];
               var11 = var43.d();
               var12 = var43.e();
            }
            break;
         case 4:
            var13 = var1.a(var2, var3, this.a[var10++]) * var23 + var4;
            var14 = var1.a(var2, var3, this.a[var10++]) * var24 + var5;
            var15 = var1.a(var2, var3, this.a[var10++]) * var23 + var4;
            var16 = var1.a(var2, var3, this.a[var10++]) * var24 + var5;
            var9.a(var11, var12, var11 + (var13 - var11) * 2.0F / 3.0F, var12 + (var14 - var12) * 2.0F / 3.0F, var15 + (var13 - var15) * 2.0F / 3.0F, var16 + (var14 - var16) * 2.0F / 3.0F, var15, var16);
            var11 = var15;
            var12 = var16;
            break;
         case 5:
            var13 = var1.a(var2, var3, this.a[var10++]) * var23 + var4;
            var14 = var1.a(var2, var3, this.a[var10++]) * var24 + var5;
            var15 = var1.a(var2, var3, this.a[var10++]) * var23 + var4;
            var16 = var1.a(var2, var3, this.a[var10++]) * var24 + var5;
            float var17 = var1.a(var2, var3, this.a[var10++]) * var23 + var4;
            float var18 = var1.a(var2, var3, this.a[var10++]) * var24 + var5;
            var9.a(var11, var12, var13, var14, var15, var16, var17, var18);
            var11 = var17;
            var12 = var18;
         }
      }

      return var9;
   }

   long a() {
      return this.c > 0L ? this.c : 1L;
   }

   long b() {
      return this.d > 0L ? this.d : 1L;
   }
}
